package com.itany.corejava.code11_io.字符流;

import java.io.*;

/**
 * @author 石小俊
 * @date 2023年05月12日 10:51
 */
public class Test02_缓冲流 {

    public static void main(String[] args) {
        try (
                BufferedReader br = new BufferedReader(new FileReader("a.txt"));
                BufferedWriter bw = new BufferedWriter(new FileWriter("aaa.txt"));
                PrintWriter out = new PrintWriter("abc");
        ) {
            // 按行读,每次读取一行数据,当读取不到数据了则返回null
            // 如果某一行没有数据,直接返回空字符串而不是null
            // 当返回null,说明到末尾了,读取结束了
            // String data = br.readLine();
            // System.out.println(data);

            // 可以直接读取所有
            String data = null;
            while ((data = br.readLine()) != null) {
                System.out.println(data);
                // 将内容写入到指定文件中
                // 此时写入到文件中的数据没有换行
                bw.write(data);
                // 因此是按行读取的,每次都读取一行数据
                // 因此,可以手动在此处进行换行
                bw.write("\n");
                // 通过PrintWriter提供的方法可以自带换行,更加的方便
                // 写入一行数据,写入完成后自动换行
                out.println(data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
